package com.wontube.smr.client;

import java.util.List;

import com.wontube.client.modle.vo.PagenateInfo;
import com.wontube.smr.client.model.po.Genre;
import com.wontube.smr.client.model.po.Movie;
import com.wontube.smr.client.model.vo.MovieItems;

/**
 * 音乐接口
 * @author hewc@wondershare.cn
 *
 */
public interface IMVHandler {
	/**
	 * 查询所有流派
	 * 
	 * @return
	 */
	public List<Genre> selectAllGenres();
	
	/**
	 * 获取单个 mv
	 * 
	 * @param mvId
	 * @return
	 */
	Movie getMV(String mvId);
	
	/**
	 * related mv
	 * 
	 * @param mvId
	 * @param pageInfo
	 * @return
	 */
	MovieItems listRelated(String mvId, PagenateInfo pageInfo);
	
	/**
	 * search music
	 * 
	 * @param keyword
	 * @param dbFactor
	 * @param pageInfo
	 * 
	 * @return
	 */
	MovieItems searchMusic(String keyword, Double dbFactor, PagenateInfo pageInfo);
	
	/**
	 * 列出所有mv
	 * 
	 * @param updatePeriod
	 * @param genreName，可以传 null
	 * @param dbFactor
	 * @param pageInfo
	 * @return
	 */
	@Deprecated
	MovieItems selectMusic(String updatePeriod, String genreName, Double dbFactor, PagenateInfo pageInfo);	
	
	/**
	 * weekly musics
	 * @param genreName
	 * @param pageInfo
	 * @return
	 */
	MovieItems selectWeeklyMusics(String genreName, Double dbFactor, PagenateInfo pageInfo);
	
	/**
	 * recently musics
	 * @param genreName
	 * @param pageInfo
	 * @return
	 */
	MovieItems selectRecentMusics(String genreName, Double dbFactor, PagenateInfo pageInfo);
}
